﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using ModeloDesenvolvimento;
using Poligas_ERP.Classes;

namespace Poligas_ERP.Forms
{
    public partial class FrmClienteConsulta : Form
    {
        SqlConnection cnx = new SqlConnection();
        SqlCommand cmd = new SqlCommand();
        SqlDataReader dr;
        DataTable dt = new DataTable();
        ClienteConsulta cliConsulta = new ClienteConsulta();

        Db db = new Db();

        public string IdCliente { get; set; }
        public string NomeCliente { get; set; }
        public string CpfCnpjCliente { get; set; }

        bool selecionado = false;

        public FrmClienteConsulta()
        {
            InitializeComponent();
        }

        private void FrmClienteConsulta_KeyDown(object sender, KeyEventArgs e)
        {
            if(e.KeyCode == Keys.Return)
            {
                SendKeys.Send("{TAB}");
            }
        }
        private void FrmClienteConsulta_KeyPress(object sender, KeyPressEventArgs e)
        {
            if(e.KeyChar == (char)13)
            {
                e.Handled = true;
            }
        }

        void AtualizarDados()
        {
            cnx = db.AbreConexao("strConexao");
            cmd = db.getCommand(cnx);

           /* cmd.CommandText = "spClientesSelectPesquisar";

            cmd.Parameters.AddWithValue("@Nome", txtPesquisar.Text);
                       
            using(dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
            {
                dt.Clear();
                dt.Load(dr);

                dgvCliente.DataSource = dt;
            }*/

            dgvCliente.DataSource = cliConsulta.AtualizarDados(txtPesquisar.Text);

            RecuperarDadosPorCodigo();
        }
        void RecuperarDadosPorCodigo()
        {
            if(dgvCliente.CurrentRow != null)
            {
                lblId.Text = dgvCliente.SelectedRows[0].Cells["CodCliente"].Value.ToString();
                txtNome.Text = dgvCliente.SelectedRows[0].Cells["Nome"].Value.ToString();
                txtCpfCnpj.Text = dgvCliente.SelectedRows[0].Cells["CpfCnpj"].Value.ToString();
            }
            else
            {
                lblId.Text = string.Empty;
                txtNome.Clear();
                txtCpfCnpj.Clear();
            }
        }

        private void FrmClienteConsulta_Load(object sender, EventArgs e)
        {
            dgvCliente.AutoGenerateColumns = false;
            AtualizarDados();
        }
        private void txtPesquisar_TextChanged(object sender, EventArgs e)
        {
            AtualizarDados();
        }
        private void dgvCliente_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            RecuperarDadosPorCodigo();
        }
        private void btnSelecionar_Click(object sender, EventArgs e)
        {
            cmdSelecionaCliente();
        }

        private void cmdSelecionaCliente()
        {
            if(!string.IsNullOrEmpty(lblId.Text.Trim()))
            {
                IdCliente = lblId.Text;
                NomeCliente = txtNome.Text;
                CpfCnpjCliente = txtCpfCnpj.Text;
                selecionado = true;
            }
        }
        private void FrmClienteConsulta_FormClosing(object sender, FormClosingEventArgs e)
        {
            if(!selecionado)
            {
                IdCliente = string.Empty;
                NomeCliente = string.Empty;
                CpfCnpjCliente = string.Empty;
            }
        }

        private void dgvCliente_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            cmdSelecionaCliente();
            Close();
        }
    }
}
